14 research outputs found

    Towards an embedded real-time Java virtual machine

    Get PDF
    Most computers today are embedded, i.e. they are built into some products or system that is not perceived as a computer. It is highly desirable to use modern safe object-oriented software techniques for a rapid development of reliable systems. However, languages and run-time platforms for embedded systems have not kept up with the front line of language development. Reasons include complex and, in some cases, contradictory requirements on timing, concurrency, predictability, safety, and flexibility. A carefully tailored Java virtual machine (called IVM) is proposed as an approach to overcome these difficulties. In particular, real-time garbage collection has been considered an essential part. The set of bytecodes has been revised to require less memory and to facilitate predictable execution. To further reduce the memory footprint, the class loader can be located outside the embedded processor. Since the accomplished concurrency is crucial for the function of many embedded applications, the scheduling can be defined on the application level in Java. Finally considering future needs for flexibility and on-line configuration of embedded system, the IVM has a unique structure with which, for instance, methods being objects that can be replaced and GCed. The approach has been experimentally verified by a full prototype implementation of such a virtual machine. By making the prototype available for development of real products, this in turn has confronted the solutions with real industrial demands. It was found that the IVM can be easily integrated in typical systems today and the mentioned requirements are fulfilled. Based on experiences from more than 10 projects utilising the novel Java-oriented techniques, there are reasons to believe that the proposed approach is very promising for future flexible embedded systems

    Garbage collector interface

    Get PDF
    The purpose of the presented garbage collector interface is to provide a universal interface for many different implementations of garbage collectors. This is to simplify the integration and exchange of garbage collectors, but also to support incremental, non-conservative, and thread safe implementations. Due to the complexity of the interface, it is aimed at code generators and preprocessors. Experiences from ongoing implementations indicate that the garbage collector interface successfully provides the necessary functionality in an efficient way

    Runtime Performance Evaluation of Embedded Software

    No full text
    . When developing real-time system software it is often desired to study the execution timing of processes and programs. Worst-case execution times, location of bottlenecks, processor utilization could be found if the programmer could analyze programs at runtime. The system software described in this paper provides a way to measure the execution times. The system makes minor changes to the performance and enables flexibility to the evaluation method. The system, and the changes made in the real-time kernel in order to implement the system, are described. It was experienced during evaluation of a real-time garbage collector that the system was valuable. 1 Introduction The purpose of this project was to develop support to evaluate time aspects of implemented code. The primary focus was to measure execution times of real-time processes in a runtime system. This possibility is desired, since it can be difficult to calculate or predict worst-case execution time by static analysis alone. A ..

    Implementing Java Compilers Using ReRAGs

    No full text
    Rewritable Reference Attributed Grammars (ReRAGs) is a recently developed compiler-compiler technology based on object-orientation, aspect-orientation, reference attributed grammars, and conditional rewrites. In this paper we describe our experiences from using ReRAGs for implementing Java compilers. We illustrate how the usage of ReRAGs renders a rather compact, yet easy-to-understand and modular compiler specification where code analysis, restructurings, and optimizations can be conveniently described as aspects performing computations and transformations on the abstract syntax tree. Currently, we have implemented two compilers: one that generates C code with real-time support, and one that generates Java bytecode. Both share the same front end

    Investigation of Si and O Donor Impurities in Unintentionally Doped MBE-Grown GaN on SiC(0001) Substrate

    No full text
    We have investigated the unintentional n-type background doping in GaN(0001) layers grown on semi-insulating 4H-SiC(0001) substrate by plasma-assisted molecular beam epitaxy under Ga-rich conditions at growth temperatures from 780A degrees C and 900A degrees C. All layers exhibited very smooth surface morphology with monolayer steps as revealed by atomic force microscopy. Hall-effect measurements showed that the sample grown at 900A degrees C had carrier concentration of 9.8 x 10(17) cm(-3) while the sample grown at 780A degrees C had resistivity too high to obtain reliable measurements. Secondary-ion mass spectroscopy revealed O and Si concentrations of 10(17) cm(-3) in the sample grown at 780A degrees C. The trend for the atomic concentrations of O and Si, which are common donor impurities in GaN, was thus contrary to the trend of the carrier concentration. The full-width at half-maximum for x-ray rocking curves obtained across the GaN(0002) and GaN(105) reflections for the sample grown at 900A degrees C was 62 arcsec and 587 arcsec, respectively. The half-width increased with decreasing growth temperature. The atomic concentrations of O and Si are too low to account for the unintentional background doping levels. A possible explanation proposed in early reports for the background doping is N-vacancies

    Step-flow growth of GaN(0001) on 4H-SiC(0001) by plasma-assisted molecular beam epitaxy

    No full text
    We report on step-flow growth of GaN(0001) on 4H-SiC(0001) substrates by plasma-assisted molecular beam epitaxy. The GaN layers were deposited directly on the substrate without using a buffer layer. A growth temperature of 900 degrees C and above resulted in an atomically flat surface morphology with locally straight steps indicating step-flow growth. The step height was 0.21 nm corresponding to one-half unit cell. The terrace width was 97 nm and the root-mean-square roughness was 0.06 nm. Samples grown below 900 degrees C exhibited a surface morphology consisting of spiraling terraces forming hexagonal hillocks. The full-width at half-maximum for X-ray rocking-curves recorded across the (0002) and (10 (1) over bar5) reflections was as narrow as 62 and 587 arcsec, respectively. We show that the high growth temperature in conjunction with Ga adlayers on the growth front provides a path for achieving step-flow growth of GaN by MBE

    Design and Fabrication of AlN/GaN Heterostructures for Intersubband Technology

    No full text
    We have used models based on the effective-mass approximation and Schrodinger-Poisson to design AlN/GaN multiple quantum well structures for intersubband transitions between two or three energy levels. The structures were realized by molecular beam epitaxy and the surface morphology and structural quality were investigated. We also investigated GaN waveguides that were fabricated using standard cleanroom techniques. Our work is focused on the various challenges associated to the fabrication of quantum cascade lasers based on group III-nitrides. These challenges are discussed in the light of our results
    corecore